ここで、ようやくインターネットサーバーの具体的なソフトの内容について説明に入りますが、
この章にはUNIXに関係のある話はありません。
基本的にインターネットサーバーに使用するサーバーソフトは「UNIX」でも「Windows」でも動作するため、
このページの内容は「使用しているOSがWindows」であったとしても、
サーバーのOSのインストールと基本的なネットワーク設定が終わっていれば、何ら問題ない内容のはずです。
インターネットサーバーと呼ばれるものは、様々な機能を持っています。
もっとも代表的なものがWebサーバーとメールサーバーです。
しかし自分のサーバーからHPを公開したいなら、その機能を持つソフトウェアを導入しないと不可能です。
メールを送りたいならメールーサーバー(SMTP)に対応したソフトウェアを導入しないと駄目なわけです。
すなわち、自分のサーバから情報を発信したいのであれば、
それに対応したソフトウェアをサーバーに設置する必要がある。
では、このWebサーバーに焦点を当てつつ、サーバーとは何か?といった説明を始めていきたいと思います。
例えば、我々は普段ブラウザを介して気軽にHPを見ています。
しかし、それは我々の知らないところで、クライアントである自分のPCのブラウザと、
相手のインターネットWebサーバーが厳密に決められたルール(HTTP)に従って
数多くのやりとりを行い、その結果表示されているものです。
InternetExplorerで見れるような一般的に言う所の「ホームページ」の情報は、
Webサーバーがブラウザより閲覧要求を受けると「HTTP(HyperText
Transfer Protocol)」という
ルールに従ってユーザーのPCに転送します。
しかし、そのままではとても簡単に内容が理解できないHTMLという言語で書かれた文章(ソース)のままです。
次にその情報を受け取ったブラウザは、そのHTMLという言語で書かれた情報を解読して、
分かりやすく画面に表示してくれるのです(ここはブラウザが処理する部分です)。
そしてそのページに使用されている画像ファイルも、必要ならばブラウザの要求にしたがって送信、
ブラウザはこのデータを受け取って次々と表示します。
この相手(主にブラウザ)の要求に対して、サーバー上にあるHTMLファイルや画像等を
相手に送る機能を持ったものがHTTPサーバーです。
Webサーバーとは、HTTPという取り決めによって動作しているサーバーであり、
HTTPサーバーと言い換えることも可能です。
いくら自分のサーバーにHPデータを用意しても、
それを送り出してくれる機能を持ったソフトが存在しないと閲覧させる事は不可能です。
この機能を持ったソフトウェアの中でもっとも有名なものが「Apache」と呼ばれるソフトです。
この「Apache」と呼ばれるソフトはWebサーバー機能を実現するものであり、「httpd」とも呼ばれます。
「http」とは「HyperText Tranfer
Protocol」の略であり、WebサーバーにおけるHTMLファイルや画像等様々なファイルを
相手に送信するために厳密に決められたルール(取り決め)だと言う事は前に説明したとおりです。
そして、「httpd」の最後の「d」がポイントであり、これは「Daemon(ダイモン・守護神と訳する)」の略です。
「悪魔」という意味の「Demon」とスペルは違うので注意!ですが…
一般的に日本語では「悪魔」を意味する「デーモン」で浸透してしまっています。
本当は「ダイモン」なんだと言うことを明記しつつも、
慣習に従ってこれ以降は「Daemon」を「デーモン」と呼んでいきたいと思います。
このデーモンという概念は、(特に)インターネットサーバーで多く見られる存在であり、
どんなものかと言うと、「サーバーにのメインメモリ常駐して、普段は何もしていないけど、
自分に対応した要求があると、実行される」プログラムの事です。
httpdの場合、自分に対応した要求は何かと言うと、HP閲覧要求になるわけです。
httpdは、自分がサーバーから起動されるとサーバーのシステムメモリで待機を始め、
あとは「誰かからHP閲覧要求」があった場合だけ動き出し、それが終わるとまた待機…
それを延々と繰り返します。言ってみれば「忠実な僕」という感じです。
このhttpdである「Apache」を自分のサーバーで動作させる事より、
初めてそのサーバーは「Web(http)サーバー」となるわけです。
Apacheの他にも、この「httpd」としての機能を備えたソフトは数多く存在しています。
メモリに常駐して、「誰かからHP閲覧要求」があった場合だけ動き出し、HTTPという取り決めに従ってデータを送信。
それが終わるとまた待機…それを延々と繰り返す機能を持ったものは全て「httpd」と呼びます。
インターネットで一番身近で分かりやすいWebサーバーを例に挙げて、サーバーソフトのデーモンや
様々な概念の説明しましたが、当然、他にも数多くのサーバーソフトが存在します。
そのほとんどがデーモンという概念によって動いています。
メールソフト(通称MTA:メーラー)しかり、FTPしかり、ネームサーバーしかり、Proxyしかり、DHCPしかりです。
この中で、インターネットサーバーによく使用されている、もしくはあった方が便利、というソフトを
Apacheを含めて簡単に説明していこうと思います。
・Webサーバーとして世界でもっとも数多く使用されているのはApacheであり、
これはインターネットでWebページのデータや画像の送信手続きを決めた取り決め…
通称[http (HyperText Transfer Protocol)]に従って制作されているhttpdです。
・メーラーソフトとしては、昔から使用されているsendmailと呼ばれるソフトの他に、
sendmailで存在する様々な問題を取り除いたとされる
Postfixが存在します。
これらはSMTP(Send Mail Tranfer Protocol)という取り決めに従って制作されているデーモンですが、
一般的にMTA (Mail Tranfer Agent)と呼ばれています。
・インターネットを介して、サーバーへの様々なデータファイルの送受信に使用されているのは
「FTPD(File Tranfer Protocol Daemon)」であり、FreeBSDには標準で付属してます。
このデーモンを使用することによって、クライアントからのFTP接続が可能になり、
サーバーへのファイル転送が非常に簡単になります。
・リモートPCより遠隔操作するときに使用するソフトがTelnetです。
当然、Telnetで遠隔操作するには、サーバー側にはTelnetdが動作している必要があります。
このソフトは、基本的にどのUNIXであっても標準で用意されています。
・DHCPとは「Dynamic Host Cofiguration Protocol」と呼ばれる、動的にIPアドレスをクライアントPCに
割り当てる機能を持っています。プロバイダのサーバーの大半がこの機能を持っています。
UNIXでフリーで使えるDHCPDには「Wide-dhcp」などがあります。
・DNS(Domain Name System)として一般的に使用されているのはBINDと呼ばれるソフトであり、
これはnamedとよばれるプログラムによって動いています。
・Proxy…これは今までのインターネットのサーバーソフトとは少し違った機能を持っており、
クライアントのPCがインターネットをするときの仲介役をします。
UNIXで一般的に使用されているProxyソフト「Squid」には、Webキャッシュ機能があり、
一度見たHPのデーターはより高速に見ることが可能になります。
・NATDとは、「Network Address Translation」…FreeBSDに標準で用意されている、
IPアドレス変換機能を持ったデーモンであり、FreeBSDサーバーをゲートウェイとして
使用するときに必要になってきます。
以上のように色々なソフトを紹介しましたが、この全部を使用するわけではなく、
この中で自分のサーバーでやりたい内容に一致するソフトを選んで導入することが重要になってきます。
無駄な(不要な)ソフトを入れることは、それだけサーバーのメモリ資源を無駄にして、
無用なセキュリティ上の欠陥を作ってしまう原因にもなるわけです。
そういったことも念頭においてもらいいつつ自分が使いたいソフトを選んで頂ければいいな、と思います。
[一つ上に戻る] |